package com.powergisol.gis.service;

import com.mongodb.client.gridfs.model.GridFSFile;
import com.powergisol.gis.entity.TabService;
import com.powergisol.gis.util.Result;
import com.powergisol.gis.vo.TabServiceVo;

import java.util.List;
import java.util.Map;

/**
 * Date: 2019/7/10  9:25
 * Description:
 */
public interface TabDataService {

    List<TabServiceVo> tabServiceList(TabServiceVo vo);

    List<Map<String,Object>> getDataType(TabServiceVo vo);

    Map<String,Object> getDataFile(Integer staticNum);

    List<Map<String,Object>> getServiceType(Integer staticNum);

    int upDataPath(String filePath,Integer staticNum);

    String selectLevelById(Integer type);

    Integer getServiceNameNum(String name);

    Result releaseTabService(TabServiceVo vo);

    Result updateTabService(TabServiceVo vo);

    Result updateTabService(TabService tabService);

    Result getTabServiceById(Integer id);

    Result upTabServiceState( TabService tabService,Integer state,String name,String serviceCoordinate,String encodingType);

    Result getTabServiceByName(String name);

    Result getTabServiceByNameForRemote(String name);

    Result delTabServiceByUuid(String uuid);

    TabServiceVo getVoByName(String name);

    TabService getByName(String name);

    TabService getByUuid(String uuid);

    int upTabServiceStyleUrl(TabService tabService,String resultType);

    void writeToDisk(String absolutePath, Long len, GridFSFile gridFSFile , int size);

}
